package com.octo.android.sample.ui;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.octo.android.sample.R;
import com.octo.android.sample.model.Computer;
import com.octo.android.sample.model.DummyComputer;
/**
* A simple testable activity.
* @author SNI
*/
public class HelloAndroidActivity extends FragmentActivity {
// ----------------------------------
// CONSTANTS
// ----------------------------------
private static final String TAG = HelloAndroidActivity.class.getSimpleName();
// ----------------------------------
// ATTIBUTES
// ----------------------------------
private Button button;
private TextView textView;
private Computer computer;
// ----------------------------------
// LIFE CYCLE
// ----------------------------------
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG, "onCreate");
setContentView(R.layout.main);
button = (Button) findViewById(R.id.button_main);
textView = (TextView) findViewById(R.id.textview_hello);
button.setOnClickListener(new ButtonClickListener());
computer = new DummyComputer();
}
// ----------------------------------
// PUBLIC API
// ----------------------------------
public void setComputer(Computer computer) {
this.computer = computer;
}
// ----------------------------------
// INNER CLASS
// ----------------------------------
private final class ButtonClickListener implements OnClickListener {
@Override
public void onClick(View v) {
if (computer != null) {
textView.setText(String.valueOf(computer.getResult()));
} else {
// only tested by unit tests, not it tests
textView.setText(R.string.text_no_computer);
}
DateTime dt = new DateTime();
DateTimeFormatter fmt = DateTimeFormat.forPattern("MMMM, yyyy");
String dateString = fmt.print(dt);
Toast.makeText(HelloAndroidActivity.this, dateString, Toast.LENGTH_LONG).show();
}
}
}